// pages/msg/msgList.js
var WxParse = require('../../wxParse/wxParse.js');
var api = require("../../utils/api.js");
Page({

  /**
   * 页面的初始数据
   */
  data: {
    totalPage: 0,//总页数
    nowPage: 1,//当前页码
    pagesize: 10,//页大小
    originalMsgList: [],//原始消息列表
    msgList: [],//解析后消息列表
    noDataIsHide: true,//是否隐藏“没有数据”
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this;
    // 获取消息列表
    that.getMsgList();
  },

  // 获取消息列表
  getMsgList: function () {
    var that = this;
    wx.showLoading({
      title: '加载中',
    });//显示加载中
    api.getMsgList(that.data.nowPage, that.data.pagesize).then(res => {
      if (res.code == 0) {
        wx.hideLoading();//隐藏加载中
        var dataList = res.data.dataList;
        if (dataList.length > 0) {
          var originalMsgList = [];
          if (that.data.nowPage != 1) {
            originalMsgList = that.data.originalMsgList;
          }
          for (var i = 0; i < dataList.length; i++) {
            originalMsgList.push(dataList[i]);
          }
          that.setData({
            totalPage: res.data.page.totalPage,
            originalMsgList: originalMsgList
          },res => {
            // 解析消息列表
            that.analysisMsgList();
          });
        } else {
          that.setData({
            originalMsgList: [],
            noDataIsHide: false
          });
        }
      }
      // 隐藏导航栏加载框
      wx.hideNavigationBarLoading();
      // 停止下拉动作
      wx.stopPullDownRefresh();
    });
  },

  // 解析消息列表
  analysisMsgList: function () {
    var that = this;
    var originalMsgList = that.data.originalMsgList;
    for (var i = 0; i < originalMsgList.length; i++) {
      WxParse.wxParse('content' + i, 'html', originalMsgList[i].content, that);
      if (i === originalMsgList.length - 1) {
        WxParse.wxParseTemArray("listArr", 'content', originalMsgList.length, that);
      }
    }
    var msgList = that.data.listArr;
    msgList.map((item, index, arr) => {
      if (arr[index].length == 0) {
        arr[index].push(originalMsgList[index]);
      } else {
        arr[index][0].id = originalMsgList[index].id;
        arr[index][0].messageType = originalMsgList[index].messageType;
        arr[index][0].subject = originalMsgList[index].subject;
        arr[index][0].displayName = originalMsgList[index].displayName;
        arr[index][0].sendTime = originalMsgList[index].sendTime;
      }
    });
    //赋值解析后的消息列表
    that.setData({
      msgList: msgList
    });
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    var that = this;
    that.setData({
      nowPage: 1
    }, res => {
      // 获取消息列表
      that.getMsgList();
    });
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    var that = this;
    if (that.data.nowPage < that.data.totalPage) {
      that.setData({
        nowPage: that.data.nowPage + 1
      }, res => {
        // 获取消息列表
        that.getMsgList();
      });
    } else {
      wx.showToast({
        title: '没有更多数据',
        icon: 'none'
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})